Matlab使用while来循环执行真值条件语句

您所在的位置:网站首页 matlab 怎么退出循环 Matlab使用while来循环执行真值条件语句

Matlab使用while来循环执行真值条件语句

2023-04-02 12:19| 来源: 网络整理| 查看: 265

文章目录

展开 常见用法语法说明重复执行语句,直到表达式为 False跳至下一循环迭代在表达式为 false 之前退出循环友情提示 4.3 (3)

前面,我们讲过Matlab使用for来编写循环语句,以及使用if来编写条件判断语句。今天,古哥再给大家带来一篇通过while实现循环执行某个条件为真的语句。大体上,判断给定的条件是否为真;如果为真,就执行对应语句;循环执行一次后,继续判断条件是否为真,并继续执行语句。

本文我们主要讲解while语句的常见用法、语法说明、重复执行语句,直到表达式为 False、跳至下一循环迭代、在表达式为 false 之前退出循环等。

Matlab使用while来循环执行真值条件语句

下面,我们先给出Matlab中while函数的帮助文档如下:

>> help while while Repeat statements an indefinite number of times. The general form of a while statement is: while expression statements END The statements are executed while the real part of the expression has all non-zero elements. The expression is usually the result of expr rop expr where rop is ==, , =, or ~=. The BREAK statement can be used to terminate the loop prematurely. For example (assuming A already defined): E = 0*A; F = E + eye(size(E)); N = 1; while norm(E+F-E,1) > 0, E = E + F; F = A*F/N; N = N + 1; end常见用法while expression statements end语法说明

while expression, statements, end 计算一个表达式,并在该表达式为 true 时在一个循环中重复执行一组语句。表达式的结果非空并且仅包含非零元素(逻辑值或实数值)时,该表达式为 true。否则,表达式为 false。

重复执行语句,直到表达式为 False

使用 while 循环计算 factorial(10)。下面的代码,表示使用while循环来计算n的阶乘。

n = 10; f = n; while n > 1 n = n-1; f = f*n; end disp(['n! = ' num2str(f)])

输出结果为:

n! = 3628800

这里,如果在while语句中输出n值和f值(去掉分号,即显示运行结果),会得到如下结果:

n = 9 f = 90 n = 8 f = 720 n = 7 f = 5040 n = 6 f = 30240 n = 5 f = 151200 n = 4 f = 604800 n = 3 f = 1814400 n = 2 f = 3628800 n = 1 f = 3628800 n! = 3628800Matlab使用while来循环执行真值条件语句跳至下一循环迭代

统计文件 magic.m 中的代码行数。使用 continue 语句跳过空白行和注释。continue 跳过 while 循环中的其余指令并开始下一迭代。

fid = fopen('magic.m','r'); count = 0; while ~feof(fid) line = fgetl(fid); if isempty(line) || strncmp(line,'%',1) || ~ischar(line) continue end count = count + 1; end count

输出结果为:

count = 34fclose(fid);在表达式为 false 之前退出循环

求随机数序列之和,直到下一随机数大于上限为止。然后,使用 break 语句退出循环。

limit = 0.8; s = 0; while 1 tmp = rand; if tmp > limit break end s = s + tmp; end

上面的几个实例中,我们分别直接使用while循环执行语句,使用continue跳过循环,使用break来终止循环。

友情提示如果意外创建了一个无限循环(即永远不会自行结束的循环),请按下 Ctrl+C 停止执行循环。如果条件表达式的计算结果是一个矩阵,则仅当该矩阵中的所有元素都为 true(非零)时,MATLAB 才会计算这些语句。要在任何元素为 true 时执行语句,请在 any 函数中对表达式换行。要以编程方式退出循环,请使用 break 语句。要跳过循环中的其余指令,并开始下一次迭代,请使用 continue 语句。嵌套许多 while 语句时,每个 while 语句都需要一个 end 关键字。MATLAB while 循环类似于其他编程语言(如 C 和 C++)中的 do…while 循环。但是,while 在循环的开头而不是末尾计算条件表达式。do % Not valid MATLAB syntax statements while expression 要模拟 do…while 循环的行为,请将 while 的初始条件设置为 true,并将条件表达式放入循环内。例如,通过使用 MATLAB while 循环实现上面的 do…while 循环。while true statements if ~expression break end end

最后,如果还有不明白的,可以下方评论。

共计3人评分,平均4.3分

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/articles/2308.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3